32675 REM *** PROGRAM RENUMERATOR ***
32676 CLR :POKE 82,0:PRINT CHR$(125);:PRINT :PRINT "      RENUMERACJA PROGRAMU":PRINT :PRINT 
32677 DIM A000(10),A001$(4)
32678 A001$="A009":A002=0:REM cyfra 9 w tej linii musi byc napisana w INVERSE VIDEO !!!
32679 A003=PEEK(130)+256*PEEK(131)
32680 A004=0
32681 FOR A005=1 TO 4
32682 IF PEEK(A003+A005-1)<>ASC(A001$(A005,A005)) THEN 32686
32683 NEXT A005
32684 A003=PEEK(134)+256*PEEK(135)+8*A004
32685 GOTO 32691
32686 A004=A004+1
32687 IF A004>127 THEN POKE 82,0:PRINT :PRINT "**BLAD WYKONANIA!":POKE 82,2:PRINT :END 
32688 A003=A003+1
32689 IF PEEK(A003-1)>127 THEN 32681
32690 GOTO 32688
32691 RESTORE 32692
32692 DATA 10,12,23,24,13,4,35,27,18
32693 FOR A005=1 TO 9
32694 READ A006
32695 A000(A005)=A006
32696 NEXT A005
32697 A007=PEEK(136)+256*PEEK(137)
32698 A008=A007:A009=0
32699 A010=-1:A011=0
32700 A012=PEEK(A008)+256*PEEK(A008+1)
32701 IF A012>32674 THEN 32710
32702 IF A010<A012 THEN 32706
32703 POKE 82,0:PRINT :PRINT "**BLAD NASTEPSTWA po linii nr ";A010:POKE 82,2:PRINT 
32704 LIST A010-1,A010+10
32705 END 
32706 A008=A008+PEEK(A008+2)
32707 A011=A011+1
32708 A010=A012
32709 GOTO 32700
32710 PRINT "Znaleziono ";A011;" linii do przenumerowania":IF A011=0 THEN END 
32711 PRINT :PRINT "Podaj poczatkowy numer linii ";:INPUT A013
32712 PRINT "Podaj krok renumeracji       ";:INPUT A014:PRINT 
32713 IF A013+A014*A011<32675 THEN 32715
32714 PRINT "BLAD W DANYCH WEJSCIOWYCH-przekroczony dozwolony maksymalny numer linii":END 
32715 A008=A007
32716 A012=PEEK(A008)+256*PEEK(A008+1)
32717 IF A012>32674 THEN 32757
32718 A015=A008+PEEK(A008+2)
32719 A016=A008+4
32720 A017=A008+PEEK(A008+3)
32721 FOR A005=A016 TO A017-1
32722 IF PEEK(A005)<>14 THEN 32750
32723 IF PEEK(A005-1)=A000(3) THEN A018=1
32724 IF PEEK(A005-1)=A000(4) THEN A018=1
32725 IF PEEK(A005-1)=A000(9) AND A018=1 THEN 32730
32726 FOR A019=1 TO 8
32727 IF PEEK(A005-1)=A000(A019) THEN 32730
32728 NEXT A019
32729 GOTO 32750
32730 FOR A020=1 TO 6
32731 POKE A003+A020+1,PEEK(A005+A020):NEXT A020:PRINT "linia";
32732 FOR A021=0 TO 5-LEN(STR$(A012)):PRINT " ";:NEXT A021
32733 PRINT A012;" odwolanie do linii ";A009
32734 IF A009<32675 AND A009>-1 AND A009=INT(A009) THEN 32736
32735 POKE 82,0:PRINT :PRINT "**POZA ZAKRESEM [ TRAP ? ]":POKE 82,2:PRINT :GOTO 32750
32736 A022=A007:A004=0
32737 A010=PEEK(A022)+256*PEEK(A022+1)
32738 IF A010=A009 THEN 32746
32739 IF A010>A009 THEN 32743
32740 A022=A022+PEEK(A022+2)
32741 A004=A004+1
32742 GOTO 32737
32743 POKE 82,2:PRINT :PRINT "**BLAD-nie istniejaca linia odwolania":A002=A002+1:POKE 82,2:PRINT "";
32744 LIST A012:PRINT 
32745 GOTO 32750
32746 A009=A013+A014*A004
32747 FOR A020=1 TO 6
32748 POKE A005+A020,PEEK(A003+A020+1)
32749 NEXT A020
32750 NEXT A005
32751 A016=A017+1
32752 IF A016>A015 THEN 32755
32753 A017=A008+PEEK(A017)
32754 GOTO 32721
32755 A008=A008+PEEK(A008+2)
32756 GOTO 32716
32757 A008=A007
32758 FOR A005=1 TO A011
32759 A023=INT(A013/256):A024=A013-256*A023
32760 POKE A008,A024
32761 POKE A008+1,A023
32762 A013=A013+A014:A018=0
32763 A008=A008+PEEK(A008+2)
32764 NEXT A005
32765 POKE 82,0:PRINT :PRINT "****** KONIEC RENUMERACJI ******":POKE 82,2:PRINT :PRINT "Suma bledow : ";A002:END 
